{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Mathematical operators\n",
    "\n",
    "This tutorial includes all the mathmatical operators such as add, subtract, boolean operations, squared operations, and elementwise comparison operations applied onto the input blobs "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Import All Libraries"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Import Complete\n"
     ]
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt            #Plotting the variables\n",
    "import numpy as np                              #Numeric array operations\n",
    "import time                                     #Clocking the cuntions \n",
    "\n",
    "from caffe2.python import core, workspace       #Core creates layers, workspace holds data  \n",
    "from caffe2.proto import caffe2_pb2             #Save layers as files\n",
    "\n",
    "from IPython.display import Markdown\n",
    "def printmd(string):\n",
    "    display(Markdown(string))\n",
    "\n",
    "print \"Import Complete\""
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Procedure with core\n",
    "\n",
    "When instantiating the operator from core the general steps followed are mentioned below:\n",
    "\n",
    "1) Creating the data using numpy\n",
    "\n",
    "2) Creating the operator\n",
    "\n",
    "3) Loading the data onto the workspace\n",
    "\n",
    "4) Running the operator\n",
    "\n",
    "5) Fetching the data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. Mathematical operator examples\n",
    "\n",
    "1) Addition\n",
    "\n",
    "2) Subtraction\n",
    "\n",
    "3) Multiplication\n",
    "\n",
    "4) Division"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.1. Function: Add\n",
    "\n",
    "Function name: add (Addition)\n",
    "\n",
    "Function formula: $$z_i = x_i + y_i$$\n",
    "\n",
    "Function details: Elementwise addition for a set of input blobs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5ade184450>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "**Addition Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "Fs = 8000\n",
    "f = 5\n",
    "sample = 8000\n",
    "x = np.arange(sample)\n",
    "input_data1 = np.sin(2 * np.pi * f * x / Fs)\n",
    "input_data2 = np.cos(2 * np.pi * f * x / Fs)\n",
    "\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Add\",                                           # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                                    # Inputs\n",
    "    [\"Y\"],                                           # Output\n",
    ")\n",
    "\n",
    "#Loading Data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)                \n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator once\n",
    "workspace.RunOperatorOnce(op)                       \n",
    "\n",
    "#Fetching the data back\n",
    "output_data1 = workspace.FetchBlob(\"Y\")            \n",
    "\n",
    "#Plotting the data\n",
    "plt.figure(figsize=(6, 6))\n",
    "plt.subplot(3, 1, 1)\n",
    "plt.plot(x, input_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('input_data1')\n",
    "\n",
    "plt.subplot(3, 1, 2)\n",
    "plt.plot(x, input_data2)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('input_data2')\n",
    "\n",
    "plt.subplot(3, 1, 3)\n",
    "plt.plot(x, output_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('output_data1')\n",
    "plt.show()\n",
    "\n",
    "printmd(\"**Addition Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.2. Function: Sub\n",
    "\n",
    "Function name: Sub (Subtraction)\n",
    "\n",
    "Function formula: $$z_i = x_i - y_i$$\n",
    "\n",
    "Function details: Elementwise subtraction for a set of input blobs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5ade214f10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "**Subtraction Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "\n",
    "Fs = 8000\n",
    "f = 5\n",
    "sample = 8000\n",
    "x = np.arange(sample)\n",
    "input_data1 = np.sin(2 * np.pi * f * x / Fs)\n",
    "input_data2 = np.cos(2 * np.pi * f * x / Fs)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Sub\",                                           # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                                           # Inputs\n",
    "    [\"Y\"],                                           # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator once\n",
    "workspace.RunOperatorOnce(op)                       \n",
    "\n",
    "#Fetching the data back\n",
    "output_data1 = workspace.FetchBlob(\"Y\")             \n",
    "\n",
    "#Plotting the output\n",
    "plt.figure(figsize=(6,6))\n",
    "plt.subplot(3, 1, 1)\n",
    "plt.plot(x, input_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('input_data1')\n",
    "\n",
    "plt.subplot(3, 1, 2)\n",
    "plt.plot(x, input_data2)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('input_data2')\n",
    "\n",
    "plt.subplot(3, 1, 3)\n",
    "plt.plot(x, output_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('output_data1')\n",
    "plt.show()\n",
    "printmd(\"**Subtraction Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.3. Function: Mul\n",
    "\n",
    "Function name: Mul (Multiplication)\n",
    "\n",
    "Function formula: $$z_i = x_i * y_i$$\n",
    "\n",
    "Function details: Elementwise multiplication for a set of input blobs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5ade6c01d0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "**Multiplication Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "\n",
    "Fs = 8000\n",
    "f = 5\n",
    "sample = 8000\n",
    "x = np.arange(sample)\n",
    "input_data1 = np.sin(2 * np.pi * f * x / Fs)\n",
    "input_data2 = np.cos(2 * np.pi * f * x / Fs)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Mul\",                                           # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                                           # Inputs\n",
    "    [\"Y\"],                                           # Output\n",
    ")\n",
    "\n",
    "#Load data onto blobs\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator once\n",
    "workspace.RunOperatorOnce(op)                       \n",
    "\n",
    "#Fetching the data back\n",
    "output_data1 = workspace.FetchBlob(\"Y\")  \n",
    "\n",
    "#Plotting the output\n",
    "plt.figure(figsize=(6,6))\n",
    "plt.subplot(3, 1, 1)\n",
    "plt.plot(x, input_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('input_data1')\n",
    "\n",
    "plt.subplot(3, 1, 2)\n",
    "plt.plot(x, input_data2)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('input_data2')\n",
    "\n",
    "plt.subplot(3, 1, 3)\n",
    "plt.plot(x, output_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('output_data1')\n",
    "plt.show()\n",
    "\n",
    "printmd(\"**Multiplication Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1.4. Function: Div\n",
    "\n",
    "Function name: div (Division)\n",
    "\n",
    "Function formula: $$z_i = x_i / y_i$$\n",
    "\n",
    "Function details: Elementwise division for a set of input blobs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5ade0dbf90>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "**Division Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "Fs = 8000\n",
    "f = 5\n",
    "sample = 8000\n",
    "x = np.arange(sample)\n",
    "input_data1 = np.sin(2 * np.pi * f * x / Fs * 2)\n",
    "input_data2 = np.cos(2 * np.pi * f * x / Fs)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Div\",                                           # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                                           # Inputs\n",
    "    [\"Y\"],                                           # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator once\n",
    "workspace.RunOperatorOnce(op)                       \n",
    "\n",
    "#Fetching the data back\n",
    "output_data1 = workspace.FetchBlob(\"Y\")             \n",
    "\n",
    "\n",
    "#Plotting the output\n",
    "plt.figure(figsize=(6,6))\n",
    "plt.subplot(3, 1, 1)\n",
    "plt.plot(x, input_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('input_data1')\n",
    "\n",
    "plt.subplot(3, 1, 2)\n",
    "plt.plot(x, input_data2)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('input_data2')\n",
    "\n",
    "plt.subplot(3, 1, 3)\n",
    "plt.plot(x, output_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('output_data1')\n",
    "plt.show()\n",
    "\n",
    "printmd(\"**Division Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2. Boolean operator examples\n",
    "\n",
    "1) And\n",
    "\n",
    "2) Or\n",
    "\n",
    "3) Not\n",
    "\n",
    "4) Xor"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.1. Function: And\n",
    "\n",
    "Function name: and (Boolean and)\n",
    "\n",
    "Function formula: $$z_i = x_i && y_i$$\n",
    "\n",
    "Function details: Elementwise boolean and operation for a set of input blobs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'X2', u'Y']\n",
      "\n",
      "X1:\n",
      "[ True False  True False]\n",
      "\n",
      "X2:\n",
      "[ True  True False False]\n",
      "\n",
      "Y:\n",
      "[ True False False False]\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**And Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "\n",
    "input_data1 = [True, False, True, False]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "\n",
    "input_data2 = [True, True, False, False]\n",
    "input_data2 = np.asarray(input_data2)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"And\",                                 # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                          # Inputs\n",
    "    [\"Y\"],                                 # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Displaying the results\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"X2:\\n{}\\n\".format(workspace.FetchBlob(\"X2\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "\n",
    "printmd(\"**And Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.2. Function: Or\n",
    "\n",
    "Function name: or (Boolean or)\n",
    "\n",
    "Function formula: $$z_i = x_i || y_i$$\n",
    "\n",
    "Function details: Elementwise boolean or operation for a set of input blobs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'X2', u'Y']\n",
      "\n",
      "X1:\n",
      "[ True False  True False]\n",
      "\n",
      "X2:\n",
      "[ True  True False False]\n",
      "\n",
      "Y:\n",
      "[ True  True  True False]\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**Or Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "\n",
    "input_data1 = [True, False, True, False]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "\n",
    "input_data2 = [True, True, False, False]\n",
    "input_data2 = np.asarray(input_data2)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Or\", # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"], # Inputs\n",
    "    [\"Y\"], # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Displaying the results\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"X2:\\n{}\\n\".format(workspace.FetchBlob(\"X2\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "\n",
    "printmd(\"**Or Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2.3. Function: Not\n",
    "\n",
    "Function name: not (Boolean not)\n",
    "\n",
    "Function formula: $$z_i = !x_i$$\n",
    "\n",
    "Function details: Elementwise boolean not operation for a set of input blobs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'Y']\n",
      "\n",
      "X1:\n",
      "[ True False  True False]\n",
      "\n",
      "Y:\n",
      "[False  True False  True]\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**NOT Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "\n",
    "input_data1 = [True, False, True, False]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Not\",                                        # The type of operator that we want to run\n",
    "    [\"X1\"],                                       # Inputs\n",
    "    [\"Y\"],                                        # Output\n",
    ")\n",
    "\n",
    "#Loading data onto Workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Displaying the output\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "printmd(\"**NOT Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.4. Function: Xor\n",
    "\n",
    "Function name: xor (Boolean xor)\n",
    "\n",
    "Function formula: $$z_i = x_i \\oplus y_i$$\n",
    "\n",
    "Function details: Elementwise boolean xor operation for a set of input blobs"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'X2', u'Y']\n",
      "\n",
      "X1:\n",
      "[ True False  True False]\n",
      "\n",
      "X2:\n",
      "[ True  True False False]\n",
      "\n",
      "Y:\n",
      "[False  True  True False]\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**XOR Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "\n",
    "input_data1 = [True, False, True, False]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "\n",
    "input_data2 = [True, True, False, False]\n",
    "input_data2 = np.asarray(input_data2)\n",
    "\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Xor\", # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"], # Inputs\n",
    "    [\"Y\"], # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Displaying the results\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"X2:\\n{}\\n\".format(workspace.FetchBlob(\"X2\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "printmd(\"**XOR Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3. Comparison-function operator examples\n",
    "\n",
    "1) Equality\n",
    "\n",
    "2) Greater-Than-Equal\n",
    "\n",
    "3) Less-Than-Equal\n",
    "\n",
    "4) Greater-Than\n",
    "\n",
    "5) Less-Than\n",
    "\n",
    "6) Columnwise-Max"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.1. Function: Equality Operator\n",
    "\n",
    "Function name: eq (Elementwise equality operator)\n",
    "\n",
    "Function details: Checks equality of elements in given blobs on index per index basis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'X2', u'Y']\n",
      "\n",
      "X1:\n",
      "[  1   3  -5   3 -11   0]\n",
      "\n",
      "X2:\n",
      "[ 1  3  2  3 11  1]\n",
      "\n",
      "Y:\n",
      "[ True  True False  True False False]\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**Equality Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "input_data1 = [1.0, 3.0, -5.0, 3.0, -11.0, 0.5]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.int32)\n",
    "\n",
    "input_data2 = [1.0, 3.0, 2.0, 3.0, 11.0, 1.5]\n",
    "input_data2 = np.asarray(input_data2)\n",
    "input_data2 = input_data2.astype(np.int32)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the workspace\n",
    "op = core.CreateOperator(\n",
    "    \"EQ\",                                      # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                              # Inputs\n",
    "    [\"Y\"],                                     # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Displaying the output\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"X2:\\n{}\\n\".format(workspace.FetchBlob(\"X2\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "printmd(\"**Equality Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.2. Function: GE Operator\n",
    "\n",
    "Function name: ge (Elementwise greater-than-equal operator)\n",
    "\n",
    "Function details: Checks whether elements of first blob are greater-or-equal-than the elements of second blob on index per index basis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'X2', u'Y']\n",
      "\n",
      "X1:\n",
      "[  1   3  -5   3 -11   0]\n",
      "\n",
      "X2:\n",
      "[ 1  3  2  3 11  1]\n",
      "\n",
      "Y:\n",
      "[ True  True False  True False False]\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**GE Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "input_data1 = [1.0, 3.0, -5.0, 3.0, -11.0, 0.5]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.int32)\n",
    "\n",
    "input_data2 = [1.0, 3.0, 2.0, 3.0, 11.0, 1.5]\n",
    "input_data2 = np.asarray(input_data2)\n",
    "input_data2 = input_data2.astype(np.int32)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"GE\",                                             # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                                     # Inputs\n",
    "    [\"Y\"],                                            # Output\n",
    ")\n",
    "\n",
    "#Loading the data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the workspace\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "\n",
    "#Displaying the result\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"X2:\\n{}\\n\".format(workspace.FetchBlob(\"X2\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "printmd(\"**GE Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.3. Function: LE Operator\n",
    "\n",
    "Function name: le (Elementwise less-than-equal operator)\n",
    "\n",
    "Function details: Checks whether elements of first blob are less-or-equal-than the elements of second blob on index per index basis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'X2', u'Y']\n",
      "\n",
      "X1:\n",
      "[  1   3  -5   3 -11   4]\n",
      "\n",
      "X2:\n",
      "[ 1  3  2  3 11  1]\n",
      "\n",
      "Y:\n",
      "[ True  True  True  True  True False]\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**LE Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading data\n",
    "input_data1 = [1.0, 3.0, -5.0, 3.0, -11.0, 4.5]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.int32)\n",
    "\n",
    "input_data2 = [1.0, 3.0, 2.0, 3.0, 11.0, 1.5]\n",
    "input_data2 = np.asarray(input_data2)\n",
    "input_data2 = input_data2.astype(np.int32) \n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"LE\",                                                # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                                        # Inputs\n",
    "    [\"Y\"],                                               # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Displaying results\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"X2:\\n{}\\n\".format(workspace.FetchBlob(\"X2\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "printmd(\"**LE Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.4. Function: LT Operator\n",
    "\n",
    "Function name: le (Elementwise less-than operator)\n",
    "\n",
    "Function details: Checks whether elements of first blob are less-than the elements of second blob on index per index basis\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'X2', u'Y']\n",
      "\n",
      "X1:\n",
      "[  1   3  -5   3 -11   0]\n",
      "\n",
      "X2:\n",
      "[ 1  3  2  3 11  1]\n",
      "\n",
      "Y:\n",
      "[False False  True False  True  True]\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**LT Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Load input data\n",
    "input_data1 = [1.0, 3.0, -5.0, 3.0, -11.0, 0.5]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.int32)\n",
    "\n",
    "input_data2 = [1.0, 3.0, 2.0, 3.0, 11.0, 1.5]\n",
    "input_data2 = np.asarray(input_data2)\n",
    "input_data2 = input_data2.astype(np.int32)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"LT\",                                      # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                              # Inputs\n",
    "    [\"Y\"],                                     # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Displaying the output\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"X2:\\n{}\\n\".format(workspace.FetchBlob(\"X2\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "printmd(\"**LT Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.5. Function: GT Operator\n",
    "\n",
    "Function name: gt (Elementwise greater-than operator)\n",
    "\n",
    "Function details: Checks whether elements of first blob are greater-than the elements of second blob on index per index basis"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'X2', u'Y']\n",
      "\n",
      "X1:\n",
      "[  1   3  -5   7 -11   4]\n",
      "\n",
      "X2:\n",
      "[ 1  3  2  3 11  1]\n",
      "\n",
      "Y:\n",
      "[False False False  True False  True]\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**GT Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading data \n",
    "input_data1 = [1.0, 3.0, -5.0, 7.0, -11.0, 4.5]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.int32)\n",
    "\n",
    "input_data2 = [1.0, 3.0, 2.0, 3.0, 11.0, 1.5]\n",
    "input_data2 = np.asarray(input_data2)\n",
    "input_data2 = input_data2.astype(np.int32)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"GT\",                                            # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                                    # Inputs\n",
    "    [\"Y\"],                                           # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Displaying the output\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"X2:\\n{}\\n\".format(workspace.FetchBlob(\"X2\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "printmd(\"**GT Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.6. Function: Columwise Max\n",
    "\n",
    "Function name: colmax (Columnwise Max)\n",
    "\n",
    "Function details: Returns a row vector with elemnts as maximum of each column in a 2d matrix"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'Y']\n",
      "\n",
      "X1:\n",
      "[[[2. 3. 4. 5. 6. 7.]\n",
      "  [7. 3. 8. 5. 6. 7.]\n",
      "  [2. 3. 4. 9. 6. 7.]]]\n",
      "\n",
      "Y:\n",
      "[[7. 3. 8. 9. 6. 7.]]\n",
      "\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**ColwiseMax Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "input_data1 = [\n",
    "    [2, 3, 4, 5, 6, 7], \n",
    "    [7, 3, 8, 5, 6, 7],\n",
    "    [2, 3, 4, 9, 6, 7]\n",
    "]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.float32)\n",
    "input_data1 = np.reshape(input_data1, (1,3,6))\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"ColwiseMax\", # The type of operator that we want to run\n",
    "    [\"X1\"], # Inputs\n",
    "    [\"Y\"], # Output\n",
    ")\n",
    "\n",
    "#Loading data onto the workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Displaying the output\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "printmd(\"**ColwiseMax Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4. Miscellaneous-function operator examples\n",
    "\n",
    "1) Cos\n",
    "\n",
    "2) Sine\n",
    "\n",
    "3) Log\n",
    "\n",
    "4) Power\n",
    "\n",
    "5) Scale\n",
    "\n",
    "6) Square-root-divide"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.1. Function: Cos\n",
    "\n",
    "Function name: cos (Cosine Function)\n",
    "\n",
    "Function details: Applying cosine on every element in the blob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5ade671c10>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "**Cos Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "x = np.random.uniform(-2,2,1000)\n",
    "input_data1 = np.sort(x) \n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.float32)                  #Convert to float32 type \n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Cos\",                                                    # The type of operator that we want to run\n",
    "    [\"X1\"],                                                   # Inputs\n",
    "    [\"Y\"],                                                    # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Fetching the data back\n",
    "output_data1 = workspace.FetchBlob(\"Y\")\n",
    "\n",
    "#Plotting the operator\n",
    "plt.plot(input_data1, output_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('output_data1')\n",
    "plt.show()\n",
    "printmd(\"**Cos Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.2. Function: Sine\n",
    "\n",
    "Function name: sin (Sine Function)\n",
    "\n",
    "Function details: Applying sine on every element in the blob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5ade58b590>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "**Sin Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "x = np.random.uniform(-2,2,1000)\n",
    "input_data1 = np.sort(x) \n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.float32)            #Convert to float32 type     \n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Sin\",                                              # The type of operator that we want to run\n",
    "    [\"X1\"],                                             # Inputs\n",
    "    [\"Y\"],                                              # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "\n",
    "#Running the operator once\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Fetching the output data\n",
    "output_data1 = workspace.FetchBlob(\"Y\")\n",
    "\n",
    "#Plotting the output\n",
    "plt.plot(input_data1, output_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('output_data1')\n",
    "plt.show()\n",
    "printmd(\"**Sin Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.3. Function: Log\n",
    "\n",
    "Function name: log (Logarithmic Function)\n",
    "\n",
    "Function details: Applying log function on every element in the blob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5addfc0ad0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "**Log Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "x = np.random.uniform(0,4,1000)\n",
    "input_data1 = np.sort(x) \n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.float32)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Log\",                                            # The type of operator that we want to run\n",
    "    [\"X1\"],                                           # Inputs\n",
    "    [\"Y\"],                                            # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "\n",
    "#Running the operator once\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Fetching the output data\n",
    "output_data1 = workspace.FetchBlob(\"Y\")\n",
    "\n",
    "#Plotting the output\n",
    "plt.plot(input_data1, output_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('output_data1')\n",
    "plt.show()\n",
    "printmd(\"**Log Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.4. Function: Pow\n",
    "\n",
    "Function name: pow (Power Function)\n",
    "\n",
    "Function formula: $$f(x_i) = x_i^a$$\n",
    "\n",
    "Function details: Applying power function on every element in the blob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x7f5aeaf83450>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "text/markdown": [
       "**Power Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading input data\n",
    "Fs = 8000\n",
    "f = 5\n",
    "sample = 8000\n",
    "x = np.arange(sample)\n",
    "input_data1 = np.sin(2 * np.pi * f * x / Fs)\n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.float32) \n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Pow\",                                            # The type of operator that we want to run\n",
    "    [\"X\"],                                            # Inputs\n",
    "    [\"Y\"],                                            # Output\n",
    "    exponent=0.2,                                     # Constant \"a\"\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X\", input_data1)                \n",
    "\n",
    "workspace.RunOperatorOnce(op)                       #Running the operator once\n",
    "\n",
    "output_data1 = workspace.FetchBlob(\"Y\")             #Fetching the data back\n",
    "\n",
    "plt.subplot(2, 1, 1)\n",
    "plt.plot(x, input_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('input_data1')\n",
    "\n",
    "plt.subplot(2, 1, 2)\n",
    "plt.plot(x, output_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('output_data1')\n",
    "plt.show()\n",
    "printmd(\"**Power Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.5. Function: Scale\n",
    "\n",
    "Function name: scale (Scale Function)\n",
    "\n",
    "Function formula: $$f(x_i) = scale*x_i$$\n",
    "\n",
    "Function details: Applying power function on every element in the blob"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 96,
   "metadata": {},
   "outputs": [],
   "source": [
    "#Loading input data\n",
    "Fs = 8000\n",
    "f = 5\n",
    "sample = 8000\n",
    "x = np.arange(sample)\n",
    "input_data1 = np.sin(2 * np.pi * f * x / Fs)\n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.float32)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the operator\n",
    "op = core.CreateOperator(\n",
    "    \"Scale\",                                          # The type of operator that we want to run\n",
    "    [\"X\"],                                            # Inputs\n",
    "    [\"Y\"],                                            # Output\n",
    "    scale=5.0,                                        # Constant \"scale\"\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X\", input_data1)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Fetching the output data\n",
    "output_data1 = workspace.FetchBlob(\"Y\")\n",
    "\n",
    "#Plotting the output\n",
    "plt.subplot(2, 1, 1)\n",
    "plt.plot(x, input_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('input_data1')\n",
    "\n",
    "plt.subplot(2, 1, 2)\n",
    "plt.plot(x, output_data1)\n",
    "plt.xlabel('x')\n",
    "plt.ylabel('output_data1')\n",
    "plt.show()\n",
    "printmd(\"**Scale Operator studied**\")"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.6. Function: Square root divide\n",
    "\n",
    "Function name: square root divide (Scale Function)\n",
    "\n",
    "Function formula: $$f(x_i) = x_i/\\sqrt{integer\\ given}$$\n",
    "\n",
    "Function details: Divide every element by square root of interger array given. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Current blobs in the workspace: [u'X1', u'X2', u'Y']\n",
      "\n",
      "X1:\n",
      "[[ 1. 15. 10.]\n",
      " [ 3. 12.  9.]]\n",
      "\n",
      "X2:\n",
      "[25  9]\n",
      "\n",
      "Y:\n",
      "[[0.2 3.  2. ]\n",
      " [1.  4.  3. ]]\n",
      "\n",
      "First row divided by sqrt of 25, second row divided by sqrt of 9\n"
     ]
    },
    {
     "data": {
      "text/markdown": [
       "**Square-Root-Divide Operator studied**"
      ],
      "text/plain": [
       "<IPython.core.display.Markdown object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#Loading the data\n",
    "input_data1 = [ \n",
    "    [1, 15, 10], \n",
    "    [3, 12, 9]\n",
    "]\n",
    "input_data1 = np.asarray(input_data1)\n",
    "input_data1 = input_data1.astype(np.float32)\n",
    "\n",
    "input_data2 = [25, 9]\n",
    "input_data2 = np.asarray(input_data2)\n",
    "input_data2 = input_data2.astype(np.int32)\n",
    "\n",
    "#Reset the workspace\n",
    "workspace.ResetWorkspace()\n",
    "\n",
    "#Creating the workspace\n",
    "op = core.CreateOperator(\n",
    "    \"SquareRootDivide\",                             # The type of operator that we want to run\n",
    "    [\"X1\", \"X2\"],                                   # Inputs\n",
    "    [\"Y\"],                                          # Output\n",
    ")\n",
    "\n",
    "#Loading data onto workspace\n",
    "workspace.FeedBlob(\"X1\", input_data1)\n",
    "workspace.FeedBlob(\"X2\", input_data2)\n",
    "\n",
    "#Running the operator\n",
    "workspace.RunOperatorOnce(op)\n",
    "\n",
    "#Displaying the output\n",
    "print(\"Current blobs in the workspace: {}\\n\".format(workspace.Blobs()))\n",
    "print(\"X1:\\n{}\\n\".format(workspace.FetchBlob(\"X1\")))\n",
    "print(\"X2:\\n{}\\n\".format(workspace.FetchBlob(\"X2\")))\n",
    "print(\"Y:\\n{}\\n\".format(workspace.FetchBlob(\"Y\")))\n",
    "print(\"First row divided by sqrt of 25, second row divided by sqrt of 9\")\n",
    "printmd(\"**Square-Root-Divide Operator studied**\")"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 2",
   "language": "python",
   "name": "python2"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 2
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython2",
   "version": "2.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
